import request from '@/config/axios'

// 社交用户 VO
export interface SocialUserVO {
  id: number // 编号
  type: number // 社交平台
  socialClientId: number // 客户端编号
  openid: string // openid
  token: string // token
  rawTokenInfo: string // 原始token数据
  nickname: string // 用户昵称
  avatar: string // 用户头像
  rawUserInfo: string // 原始用户数据
  code: string // 最后一次的认证 code
  state: string // 最后一次的认证 state
}

// 租户 API
export const SocialUserApi = {
  // 获取社交用户分页
  getSocialUserPage: async (params: PageParam) => {
    return await request.get({ url: `/system/social-user/page`, params })
  },

  // 获取社交用户详情
  getSocialUser: async (id: number) => {
    return await request.get({ url: `/system/social-user/get`, params: { id } })
  },

  // 社交账号绑定
  socialBind: async (type: number, code: string, state: string) => {
    return await request.post({ url: `/system/social-user/bind`, data: { type, code, state } })
  },

  // 社交账号解绑
  socialUnbind: async (type: number, openid: string) => {
    return await request.post({ url: `/system/social-user/unbind`, data: { type, openid } })
  }
}
